Parallel Data Structures for Symbolic Computation

نویسندگان

  • Katherine Yelick
  • Soumen Chakrabarti
  • Etienne Deprit
  • Je Jones
  • Arvind Krishnamurthy
چکیده

Symbolic applications often require dynamic irregular data structures, such as linked lists, unbalanced trees, and graphs, and they exhibit unpredictable computational patterns that lead to asynchronous communication and load imbalance when parallelized. In this paper we describe several symbolic applications and their parallelizations. The main problem in parallelization of each application was to replace the primary data structures with parallel versions that allow for high throughput, low latency access. In each case there are two problems to be solved: load balancing the parallel computation and sharing information about the solution as it is being constructed. The rst problem is typically solved using a scheduling data structure, a stack, queue, or priority queue in sequential programs. The diiculty in parallelizing these structure is the trade-oo between locality and load balancing: aggressive load balancing can lead to poor locality. The second problem of storing the solution depends much more on the type of solution, but range from simple scalar values to sets or tables. These structures use partitioning, full replication, or dynamic caching in their parallelizations. In sequential programming environments, common data structures are often provided through reusable libraries. We have built a parallel analog to these libraries, called Multipol. Multipol support irregular and asynchronous applications, including symbolic applications, discrete event simulation, and adaptive algorithms. The performance issues in Multipol include masking remote latency, elimination of communication, load balance, performance portability across machines, and local node performance.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Moded Flat Ghc for Data-parallel Programming (extended Abstract) 1 Regular Computation in Concurrent Logic Programming

Concurrent logic languages have been used mainly for the (parallel) processing of rather irregular symbolic applications. However, since concurrent logic languages are essentially general-purpose, they should be applicable to problems with regular structures and their data-parallel processing as well. This paper studies the possibility of massively parallel processing in concurrent logic progra...

متن کامل

SymGrid: A Framework for Symbolic Computation on the Grid

This paper introduces the design of SymGrid, a new Grid framework that will, for the first time, allow multiple invocations of symbolic computing applications to interact via the Grid. SymGrid is designed to support the specific needs of symbolic computation, including computational steering (greater interactivity), complex data structures, and domain-specific computational patterns (for irregu...

متن کامل

TS/Scheme: Distributed Data Structures in Lisp

NEC Research Institute, 4 Independence Way, Princeton, NJ 08540 Abstract. We describe a parallel object-oriented dialect of Scheme called ts/scheme that provides a simple and expressive interface for building asynchronous parallel programs. The main component in ts/scheme’s coordination framework is an abstraction that serves the role of a distributed data structure. Distributed data structures...

متن کامل

Reliable Scalable Symbolic Computation: The Design of SymGridPar2 pdfsubject=Proceedings of the 28th Symposium On Applied Computing, SAC 2013

Symbolic computation is an important area of both Mathematics and Computer Science, with many large computations that would benefit from parallel execution. Symbolic computations are, however, challenging to parallelise as they have complex data and control structures, and both dynamic and highly irregular parallelism. The SymGridPar framework has been developed to address these challenges on s...

متن کامل

1 Symbolic Computation and Parallel Software

Two aspects of parallelism as related to symbolic computing are presented: (1) the implementation of parallel programs for the factorization of polynomials, and (2) the automatic derivation and generation of parallel codes for finite element analysis. The former illustrates the use of parallel programming to speed up symbolic manipulation. The latter shows how symbolic systems can help create p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995